/**
 * 当当购物车后端
 *   功能: 提供商品列表接开口
 *        url地址: /api/product/list
 *        请求方法: get
 *        响应数据: 商品列表数组，数据来自数据库商品表
 *
 *   下载mysql第三方模块
 *      npm install mysql
 *         =>下载文件在当前命令行所在目录 node_modules文件中
 *
 */
const http = require('http') //引入http内置模块
const mysql = require('mysql') //第三方mysql模块

//1.创建web服务器
let server = http.createServer(function (request, response) {
  let path = request.url
  response.setHeader('Access-Control-Allow-Origin', '*')
  response.writeHead(200, { 'Content-Type': 'text/html; charset=utf-8' }) //解决中文乱码问题

  //商品列表接口
  if (path.indexOf('/api/product/list') !== -1) {
    //从数据库获取商品列表数据
    //响应给前端
    //2.创建mysql连接对象connect
    let connect = mysql.createConnection({
      host: 'localhost',
      user: 'root',
      password: 'b123',
      database: 'h52110db'
    })
    //3.建立连接
    connect.connect()

    //4.执行数据库sql
    connect.query('SELECT * FROM jdComputerList', function (err, data) {
      if (err) {
        console.log('数据库出错', err)
        return
      }

      let dataStr = JSON.stringify(data)
      console.log(dataStr)

      response.write(dataStr)
      response.end()
    })
    //5.关闭数据库连接
    connect.end()
    
  } else {
    response.write('只支持/api/product/list接口')
    response.end()
  }
  
})

server.listen(3000, () =>
  console.log('启动当当购物车获取商品列表接口服务器,监听3000端口...')
)